Contemporary portable devices, such as mobile phones, permit users to communicate with a service provider over a network. Portable devices frequently include mobile equipment (ME) and a module card. The ME is the hardware of the portable device, which includes a display, a receiver, a transmitter, and other physical equipment. The ME is identified by a unique code. The module card stores the unique code that identifies the ME in a memory.
In existing portable devices, the module card serves as a network interface that connects the portable device to the network. The module card also contains a toolkit, which consists of a set of commands that are programmed into the module card. In portable devices, the module card functions as an interpreter that is equipped to run applications written in one or more programming languages. Moreover, in such devices, the module card includes a memory that stores these applications along with other information. Such other information frequently includes the unique code identifying the ME.
Today, many portable devices are connected to a wireless network, such as Global System for Mobile Communication (“GSM”) network or successor network technologies such as, but not limited to, 3G and LTE, Edge, UMTS, HSPA, HSPA+, LTE Advanced, CDMA, 1×RTT, EVDO, and EVDO-A. In particular, GSM, and its successor technologies are standards set that describes protocols used in digital wireless communications among portable device users, service providers, and other parties. In such a network, the module card is a Subscriber Identity Module (“SIM”) card or a Universal Integrated Circuit Card (“UICC”); the toolkit on the module card is a SIM Toolkit (“STK”); and the module card functions as a STK interpreter. In more sophisticated SIM cards, the STK is a Dynamic SIM Toolkit (“DSTK”) and the STK interpreter is a DSTK interpreter.
In a wireless network, a service provider generates content corresponding to a message that is to be sent to a user. Such messages are often written in a markup language (for example, Wireless Internet Gateway Wireless Markup Language (“WIG WML”), SIM @lliance Toolbox Markup Language (“S@TML”), Java Markup Language (“JavaML”)). The content is sent to a gateway, which prepares the message and forwards the message to the user. This gateway is known as the Universal Gateway (“UG”). The UG may be located on a server 101. The message includes an instruction, which itself is a SIM card instruction (for example, a wiblet, a s@tlet, a Java applet) (or alternatively, an UICC application) that is received by a portable device. The portable device contains a SIM card with its own memory that stores a DSTK. Properly programmed, the SIM card functions as a DSTK interpreter, which is configured to interpret the instruction contained in the message. Depending on whether the instruction comprises an XML-based feed interpreted by a wiblet, a s@tlet, or a Java applet, the DSTK interpreter functions as SmartTrust Wib (“Wib”), a SIM @lliance Toolbox (“S@T”) interpreter, or a Java interpreter, respectively. The DSTK interpreter interprets the instructions to implement actions or commands included in the DSTK. Some of these commands operate independently of the portable device, and other commands are directed to the portable device, such as a command to display a string of text or ask the user for an input.
In certain wireless networks, users are required to periodically use their portable devices in order to retain services that are being provided by a service provider. In such networks, when a user fails to use their portable device at least once during a predefined period, then the user can be disenrolled and, therefore, is no longer be able to use and receive services from the service provider. Moreover, after the user loses access to the services provided, the user often is not able to communicate with the service provider using their portable device to reinstate the services.
As more users connect to service providers over wireless networks and the size of these networks increase, it becomes increasingly important from an efficiency and cost standpoint for service providers to monitor the frequency that users are using their services. By monitoring usage, a service provider may be equipped to aid users with retaining desired services.
In addition, in certain wireless networks, a service provider collects data relating to the user's portable device activity, for example, activity relating to overall usage, call activity, text messages and/or multimedia messages sent and received, internet activity, and other useful data. By monitoring this data, a service provider may be equipped to aid users with advanced retaining services relating to new and/or more pertinent services based on a user's circumstances and necessity.